Jave Web 合理开发模式

后面的相关资源文章不错

自从四五年前,大四,接触Java Web,一上来就是SSH框架,架子很大,烦琐,只得形式。后来断断续续参与一些项目,功能可以实现,但总觉得实现的方式不够合理,比如过于繁琐,有大量重复代码、样板式代码,导致重复劳动,容易出错,不可复用等。

我很好奇,正确的模式应该是怎样的,不同的场景,有什么指导思想吗?经过一番搜索学习,有了一些了解,但还有很多不清楚的地方。(待续修改完善)

常见模式

一:controller/action-service-dao

我做的Java Web项目还真不多,见到的基本是这个分层,但是同样的分层,还是有不同的用法。一种就是大量业务逻辑都写在了controller里,service很薄,只是DAO的传话筒。这种方式,业务逻辑的复用是个问题,应该把业务逻辑写在service里。然后常见就是一个数据库table对应一个service,对于小项目,每个表自成一体,还算合理,但不应该固守这个模式。还有坚持controller通过service调用DAO来持久化,这应该是合理的。对于简单表的CRUD,这似乎过于繁琐,个人认为这时可以直接调用DAO,同时复杂操作(多个DAO,事务等)通过service。exposed domain model pattern使用类似方式,但是DAO变成了Repository。

事务脚本模式

领域模型模式

相关资源

Domain Driven Design and Development In Practice

领域驱动设计在互联网业务开发中的实践

加载评论框需要翻墙